c138c08d9cbc40fc4336732d56a4b0b58867a515,src/com/avail/compiler/MessageSplitter.java,Group,emitDoubleWrappedBeforeDaggerOn,#InstructionGenerator#A_Type#,2016
Before Change
generator.partialListsCount += 2;
for (final Expression expression : beforeDagger.expressions)
{
final boolean isArgOrGroup = expression.isArgumentOrGroup();
expression.emitOn(
generator,
isArgOrGroup
? subexpressionsTupleType.typeAtIndex(
++expressionCounter)
: ListNodeTypeDescriptor.empty());
if (isArgOrGroup)
{
// Append to the current solution list.
generator.emit(this, APPEND_ARGUMENT);
}
}
generator.partialListsCount -= 2;
After Change
int index = 0;
for (final Expression expression : beforeDagger.expressions)
{
if (expression.isArgumentOrGroup())
{
index++;
final int realTypeIndex =
beforeDagger.argumentsAreReordered == Boolean.TRUE
? beforeDagger.permutedArguments.get(index - 1)
: index;
final A_Type entryType =
subexpressionsTupleType.typeAtIndex(realTypeIndex);
expression.emitOn(generator, entryType);
generator.emit(this, APPEND_ARGUMENT);
}
else
{